<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH . 'models/m_object.php';

/**
 * Модель блока
 *
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */
class M_Block extends M_Object {
   
   /**
    * Название таблицы
    *
    * @access protected
    * @var string
    */
   var $_table = 'blocks';
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return M_Block
    */
   function M_Block() {
      parent::M_Object();
   } // end M_Block
   
   /**
    * Метод устоновки контента по умолчанию
    *
    * @access public
    * @return boolean
    */
   function set_default() {
      $sql = "
         UPDATE
            " . $this->db->dbprefix($this->_table) . "
         SET
            is_default = IF(id_block = " . $this->db->escape($this->get_id('id_block')) . ", 'yes', 'no')
      ";
      if (null !== $this->db->query($sql)) {
         return true;
      }
      return false;
   } // end set_default
   
   /**
    * Получение идентификатора по slug
    *
    * @param string $slug
    * @return int
    */
   function get_id_by_slug($slug) {
      $id = 0;
      $this->db->select('id_block')
         ->from('blocks')
         ->where('slug', $slug)
         ->limit(1);
      $query = $this->db->get();
      if (0 < $query->num_rows()) {
         $row = $query->row_array();
         $id = $row['id_block'];
      }
      return $id;
   }
   
   /**
    * Получение идентификатора по умолчанию
    * @return int
    */
   function get_default_id() {
      $id = 0;
      $this->db->select('id_block')
         ->from('blocks')
         ->where('is_default', 'yes')
         ->limit(1);
      $query = $this->db->get();
      if (0 < $query->num_rows()) {
         $row = $query->row_array();
         $id = $row['id_block'];
      }
      return $id;
   }
   
}
